Wireless communication between electronic devices over relatively short distances is a common and increasingly important feature of modern life. In some cases, for example, an electronic device or other appliance is controlled by another electronic device which must communicate instructions to the controlled device (and perhaps receive information from the controlled device). Examples include computer input devices (e.g., mice, trackballs, joysticks, game controllers) and remote control units (for, e.g., televisions or other appliances). In other cases, it is necessary for one electronic device to transmit more complex data to and/or receive such data from another device. Examples include computer keyboards, digital cameras and other devices able to transmit data to a computer or other device. Among other advantages, wirelessly transmitting data and/or control signals can dramatically increase user convenience and reduce clutter from multiple connecting cables.
Although there are several standards for wireless communication, BLUETOOTH is becoming the de facto standard for many applications. Developed by Bluetooth SIG, Inc., the BLUETOOTH wireless specification establishes protocols and standards for two-way wireless communication between electronic devices using relatively low power radio communication. BLUETOOTH is described by, e.g., “Specification of the Bluetooth System” (versions 1.1 and 1.2), “Human Interface Device (HID) Profile version 1.0” and various other documents available from Bluetooth SIG, Inc. at <http://www.bluetooth.com>. Among other things, BLUETOOTH provides for two-way radio links between multiple devices in a short-range radio network called a “piconet.”
As one example of a BLUETOOTH piconet, a personal computer may be configured to receive input from one or more wireless input devices such as a wireless mouse and/or a wireless keyboard. In some cases, a user connects a device to the piconet by simply bringing the device within range of the computer's Bluetooth controller. In other cases, more steps may be required so that the device becomes bonded with the computer BLUETOOTH host so as to authenticate the device and establish secure communication between the devices. In either case, a series of inquiry, paging and other messages are exchanged between the input device and the computer to set up a connection over which user data (e.g., mouse movement or button press, keyboard key down, etc.) is transmitted to the computer. In some cases, data from applications or other software executing on the computer is also transmitted over that connection to the input device. Details of the messages exchanged between devices to establish a connection are set forth in the above-referenced BLUETOOTH documents and are known in the art.
To maintain a connection, even when the input device has no user data to transmit, requires a periodic exchange between the input device and the computer. In effect, the input device periodically transmits a message saying “I am still here.” The computer responds “OK, you are still on my list,” and maintains the connection. Although the interval between user data and/or “I'm here” messages from the input device can be varied, it is generally on the order of tens of milliseconds. If the computer does not receive a message from the input device before expiration of a timeout period, the computer assumes the input device is turned off or absent, and breaks (or “de-lists”) the connection with the device. In order for the input device to again communicate with the computer, another series of messages must be exchanged to re-establish the connection.
This can create a conflict with regard to design requirements for a wireless input device such as a computer mouse or keyboard. Because wireless devices are battery powered, it is desirable to reduce the device's power consumption as much as possible so as to prolong battery life. A significant amount of the device power is consumed by the radio transceiver that communicates with the controller. If other considerations are ignored, the period between transmissions should be reduced as much as possible during times when the device is idle, i.e., not actually communicating user data to the computer. If the interval between transmissions is too large, however, the connection to the computer is lost. Although the connection can be re-established, doing so is relatively time-consuming and increases the amount of time needed for user input (e.g., moving a mouse) to cause the appropriate response by the computer (e.g., moving a cursor).
This input-to-response delay, or latency, can be noticeable to a human if it is approximately 100 milliseconds or more. The acceptable amount of perceived latency varies under different conditions and with different users and usage styles. For computers and input devices operating under the earlier version (1.1) of the BLUETOOTH specification, the time to re-establish the connection can be approximately 1 second or more. Under version 1.2 of the BLUETOOTH specification, the reconnect time is reduced, and in some cases may be as little as approximately 250 milliseconds. This is a significant improvement, and may result in acceptable latency in some circumstances. Under other conditions, this may still result in excessive latency. However, the BLUETOOTH specification allows manufacturers to incorporate additional features into a BLUETOOTH-compliant device (whether a computer, an input device or otherwise), so long as those additional features do not prevent that device from providing certain other features that are mandatory for BLUETOOTH compliance. Accordingly, manufacturers are able to develop BLUETOOTH-compliant chipsets providing a re-connect procedure that is faster than the “default” connection procedure of the BLUETOOTH specification.
Unfortunately, advantages of faster BLUETOOTH version 1.2 and proprietary re-connection procedures may not be achievable in many cases. For example, a computer mouse could be equipped with the hardware and firmware necessary to implement a proprietary fast re-connect procedure, but the mouse might be used with a computer that does not support the fast re-connect procedure. If used with a computer supporting the fast re-connect procedure, the mouse could implement a power-management algorithm that suspends radio communication with the computer for time periods that may cause the mouse-computer radio connection to be broken. Upon need for transmission of data to the computer (e.g., the user moves the mouse after a period of no mouse use), the connection can be re-established sufficiently fast to avoid (or minimize) any perceived latency. If, however, the mouse is used with a computer not supporting a fast re-connect procedure, that power management algorithm would likely result in unacceptable latency.
Various systems and methods are known for automatic detection of a protocol by which a device communicates with a computer. U.S. Pat. Nos. 6,442,734 and 5,754,890, assigned to the assignee of the present invention, are two examples. However, neither these patents nor other known prior art describes optimizing (or otherwise modifying) a power management algorithm based on parameters of a communication link between devices, and in particular, based on parameters of a wireless communication connection.